home *** CD-ROM | disk | FTP | other *** search
/ Amiga Developer CD 2.1 / Amiga Developer CD v2.1.iso / Reference / DevCon / Orlando_1993 / Devcon93.4 / Networking2 / AS225 / examples / sas_test.c < prev    next >
Encoding:
C/C++ Source or Header  |  1993-01-11  |  1.9 KB  |  90 lines

  1. /* -----------------------------------------------------------------------
  2.  * sas_test.c   July 21, 1992
  3.  *
  4.  * demos how to use the new s_dev_list() function with the SAS compiler's
  5.  * UFB struct.
  6.  *
  7.  *------------------------------------------------------------------------
  8.  */
  9.  
  10. #include <stdio.h>
  11. #include <fcntl.h>
  12. #include <ios1.h>
  13. #include <ss/socket.h>
  14. #include <sys/socket.h>
  15. #include <netdb.h>
  16. #include <errno.h>
  17. #include <proto/exec.h>
  18.  
  19. extern int _nufbs;
  20. extern struct UFB _ufbs[];
  21.  
  22. extern struct ExecBase *SysBase;
  23. struct Library *SockBase;
  24.  
  25. main()
  26. {
  27.     int i, s;
  28.     int sock[10];
  29.     int fd1, fd2, fd3;
  30.  
  31.     SockBase = OpenLibrary("inet:libs/socket.library",4);
  32.     if (SockBase)
  33.     {
  34.         printf("Library Opened Sucessfully.\n");
  35.         setup_sockets( _nufbs, &errno );
  36.         s_dev_list((u_long)_ufbs,sizeof(struct UFB));
  37.         printf("_ufbs=%lx\n",_ufbs);
  38.         printf("size=%d\n",sizeof(struct UFB));
  39.  
  40.         for(i = 0; i < _nufbs; i++)
  41.            if(_ufbs[i].ufbflg == 0)
  42.             printf("%d empty\n",i);
  43.             else
  44.             printf("%d used\n",i);
  45.  
  46.  
  47.         for(i=0;i<5;i++) {
  48.             sock[i] = socket( AF_INET, SOCK_STREAM, 0 ) ;
  49.             printf("opened socket = %ld\n", sock[i] ) ;
  50.         }
  51.  
  52.         for(i=0;i<5;i++)
  53.                     s_close(sock[i]);
  54.  
  55.         for(i=0;i<5;i++) {
  56.             sock[i] = socket( AF_INET, SOCK_STREAM, 0 ) ;
  57.             printf("opened socket = %ld\n", sock[i] ) ;
  58.         }
  59.         for(i=0;i<5;i++)
  60.                     s_close(sock[i]);
  61.  
  62.         fd1 = open("nil:",2);
  63.         printf("opened fd %ld\n",fd1);
  64.         fd2 = open("nil:",2);
  65.         printf("opened fd %ld\n",fd2);
  66.         fd3 = open("nil:",2);
  67.         printf("opened fd %ld\n",fd3);
  68.  
  69.         printf("closing %ld\n",fd2);
  70.         close(fd2);
  71.  
  72.         for(i = 0; i < _nufbs; i++)
  73.            if(_ufbs[i].ufbflg == 0)
  74.             printf("%d empty\n",i);
  75.             else
  76.             printf("%d used\n",i);
  77.  
  78.         s = socket( AF_INET, SOCK_STREAM, 0 ) ;
  79.         printf("opened socket = %ld\n", s ) ;
  80.  
  81.  
  82.         cleanup_sockets();
  83.  
  84.         CloseLibrary(SockBase);
  85.         printf("Library Closed.\n");
  86.  
  87.     } else
  88.         printf("Library Failed to Open.\n");
  89. }
  90.